package com.example.demo.service;

import com.example.demo.pojo.DataTables;
import com.example.demo.pojo.TableConstraint;
import com.example.demo.pojo.TableInfo;
import com.example.demo.vo.DataSourceVO;

import java.sql.SQLException;
import java.util.List;

/**
 * 数据库信息服务
 */
public interface DataTablesService {
    /**
     * 查询表的字段属性详情
     * @param dbName 数据库名
     * @param tableName 表名
     */
    List<DataTables> findColumnDataByTableName(String dbName, String tableName);

    /**
     * 查询表的约束信息
     * @param dbName 数据库名
     * @param tableName 表名
     */
    List<TableConstraint> findConstraint(String dbName, String tableName);

    /**
     * 查询数据库内的表集合
     * @param dbName 数据库名
     */
    List<String> findTableNameByDbName(String dbName);

    /**
     * 查询表名与表注释
     * @param dbName 数据库名
     * @param tableName 表名
     */
    List<TableInfo> findTableInfoByTableName(String dbName, String tableName);

    void changeDataSource(DataSourceVO vo) ;
}
